/*
 * formas.fx
 *
 * Created on 23-dic-2009, 16:09:23
 */

package ProgramSamples.Graphics;

import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.shape.*;
import javafx.scene.paint.Color;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.layout.*;


var stroke = Color.DARKSLATEGRAY;
var fill = Color.CADETBLUE;
var alterfill = Color.GOLD;

Stage {
    title: "Shapes"
    scene: Scene {
            fill: Color.LINEN;
            width: 250
            height: 350
            content: [
                VBox{
                    translateY: 10
                    spacing: 30
                    content:[
                        HBox{
                            spacing: 30
                            content:[
                                Arc {
                                    centerX: 30
                                    centerY: 50
                                    radiusX: 25,
                                    radiusY: 25,
                                    startAngle: 45
                                    length: 270
                                    type: ArcType.ROUND
                                    stroke: bind stroke
                                    fill: null
                                },
                                Path {
                                    stroke: bind stroke
                                    elements: [
                                        MoveTo {
                                            x: 100
                                            y: 30 },
                                        ArcTo {
                                            x: 150
                                            y: 50
                                            radiusX: 40
                                            radiusY: 20},
                                        LineTo{
                                            x: 100
                                            y: 30}
                                    ]
                                },
                                Circle {
                                    centerX: 0
                                    centerY: 50
                                    radius: 20
                                    stroke: stroke
                                    fill: null
                                }
                            ]//content
                        },//HBox
                        HBox{
                            spacing: 30
                            content: [
                                CubicCurve {
                                    startX: 10
                                    startY: 50
                                    controlX1: 15
                                    controlY1: 0
                                    controlX2: 30
                                    controlY2: 100
                                    endX: 50
                                    endY: 50
                                    stroke: stroke
                                    fill: null
                                },
                                Ellipse {
                                    centerX: 60
                                    centerY: 50
                                    radiusX: 40
                                    radiusY: 25
                                    stroke: stroke
                                    fill: null
                                },
                                Line {
                                    startX: 50
                                    startY: 30
                                    endX: 70
                                    endY: 70
                                    stroke: stroke
                                },
                            ]
                        },
                        HBox{
                            spacing: 30
                            content:[
                                Polygon {
                                    fill: null
                                    stroke: stroke
                                    points: [
                                        10.0,30.0,
                                        70.0,50.0,
                                        60.0,70.0
                                    ]
                                },
                                Polyline {
                                    fill: null
                                    stroke: stroke
                                    points: [
                                        40.0,30.0,
                                        60.0,40.0,
                                        50.0, 60.0,
                                        80.0, 50.0
                                    ]
                                },
                                QuadCurve {
                                    fill: null
                                    startX: 70.0
                                    startY: 50.0
                                    endX: 110.0
                                    endY: 50.0
                                    controlX: 100.0
                                    controlY: 15.0
                                    stroke: stroke
                                }
                            ]
                        },//HBox
                        HBox{
                            spacing: 30
                            content:[
                                Rectangle {
                                    fill: null
                                    x: 30
                                    y: 20
                                    width: 60
                                    height: 50
                                    arcWidth: 20
                                    arcHeight: 20
                                    stroke: stroke
                                },
                                SVGPath{
                                    content:"M20,30 L40,50 L60,30 L80,55 L100,30"
                                    fill: null
                                    stroke: stroke
                                    translateX: 40

                                }
                            ]
                        }//HBox
                    ]
                }//VBox

            ] //content

        }//Scene
}//Stage